#include <stdio.h>
#define NUM_ELEMENT 10
/* 函数声明 */
extern void sort(int *arr, int len);

int main(void)
{
    /* 定义并读入数组 */
    int arr[NUM_ELEMENT] = {0};
    int i = 0;
    for (i = 0; i < NUM_ELEMENT; i++)
    {
        scanf("%d", &arr[i]);
    }
    sort(arr, NUM_ELEMENT);
    /* 打印排序后的数组 */
    for (i = 0; i < NUM_ELEMENT; i++)
    {
        printf("%d ", arr[i]);
    }
    printf("\n");
    return 0; 
}

// 交换两个变量
void swap(int *a, int *b)
{
    int tmp = *a;
    *a = *b;
    *b = tmp;
}

void sort(int *arr, int len)
{
    int i = 0, j = 0;
    //排序arr[i]~arr[len-1]区间
    for(i = 0; i < len - 1; i++)
    {
        //从arr[i]~arr[len-1]中选择最大的元素
        int max_index = i;
        for(j = i + 1; j < len; j++)
        {
            if (arr[j] > arr[max_index])
                max_index = j;
        }
        // 将arr[i]与arr[max_index]互换
        swap(&arr[i], &arr[max_index]);
    }
}